gint depth);
static int cell_info_get_index (GtkTreeView *tree_view,
GtkTreeViewAccessibleCellInfo *info);
-static void clean_rows (GtkTreeViewAccessible *tree_view);
static void clean_cols (GtkTreeViewAccessible *tree_view,
GtkTreeViewColumn *tv_col);
static void traverse_cells (GtkTreeViewAccessible *tree_view,
accessible = GTK_TREE_VIEW_ACCESSIBLE (atk_obj);
tree_model = gtk_tree_view_get_model (tree_view);
- clean_rows (accessible);
-
/* Update visibility of cells below collapsed row */
traverse_cells (accessible, path, FALSE);
tree_view = GTK_TREE_VIEW (widget);
tree_selection = gtk_tree_view_get_selection (tree_view);
- clean_rows (accessible);
-
/* FIXME: clean rows iterates through all cells too */
g_hash_table_iter_init (&iter, accessible->cell_infos);
while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&info))
accessible->idle_expand_id = 0;
}
- /* Check to see if row is visible */
- clean_rows (accessible);
-
traverse_cells (accessible, path, TRUE);
/* If deleting a row with a depth > 1, then this may affect the
return;
}
-static void
-clean_rows (GtkTreeViewAccessible *accessible)
-{
- GtkTreeViewAccessibleCellInfo *cell_info;
- GHashTableIter iter;
-
- /* Clean GtkTreeViewAccessibleCellInfo data */
- g_hash_table_iter_init (&iter, accessible->cell_infos);
- while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&cell_info))
- {
- GtkTreePath *row_path;
-
- row_path = cell_info_get_path (cell_info);
-
- /* If the cell has become invalid because the row has been removed,
- * then set the cell's state to ATK_STATE_DEFUNCT and schedule
- * its removal. If row_path is NULL then the row has
- * been removed.
- */
- if (row_path == NULL)
- g_hash_table_iter_remove (&iter);
- else
- gtk_tree_path_free (row_path);
- }
-}
-
static void
clean_cols (GtkTreeViewAccessible *accessible,
GtkTreeViewColumn *tv_col)